In today's business and scientific world, color has become essential as a component of communication. Color facilitates the sharing of knowledge and ideas. Companies involved in the development of digital color print engines are continuously looking for ways to improve the total image quality of their products. One of the elements that affects image quality is the ability to consistently produce the same quality image output on a printer from one day to another, from one week to the next, month after month. Colors on a printer tend to drift over time due to ink/toner variations, temperature fluctuations, type of media used, environment, etc. There has been a long felt commercial need for efficiently maintaining print color predictability, particularly as electronic marketing has placed more importance on the accurate representation of merchandise in illustrative print or display media.
Color printing characterization is a crucial task in color management. The characterization process essentially establishes a relationship between device dependent, e.g. printer CMY, and device independent, e.g. CIELAB values. Several color management tasks such as derivation of ICC profiles, color transforms for calibration, etc. benefit from an accurate mathematical characterization of the physical device. For color printers, characterization is an expensive process involving large numbers of patch measurements and subsequent computation to derive satisfactorily accurate color lookup-tables (LUTs). Further, this process is halftone dependent, i.e. patch printing, measuring and associated computation scales proportionally with the number of halftoning methods. Most high-end color printers are equipped with multiple halftone screens and hence a halftone-independent method for printer characterization is very desirable.
Color printer characterization is the process of deriving a mathematical transform which relates printer CMY(K) to its corresponding device independent representation, e.g. spectral, CIELAB, etc. The forward characterization transform defines the response of the device to a known input, thus describing the color characteristics of the device. The inverse characterization transform compensates for these characteristics and determines the input to the device that is required to obtain a desired response. For the printers hence, a CMY(K)→CIELAB mapping represents a forward characterization transform while the CIELAB→CMY(K) map is an inverse transform. Herein the characterization color transform will be used to refer unambiguously to the forward transform; suitable inversion methods can be used to derive the corresponding inverse transform. The characterization transform is of immense value in many color management tasks such as derivation of ICC profiles for the printer, printer calibration, color control, etc.
The most popular technique to build a printer characterization transform involves printing and measuring a large set of color samples, i.e. CMY(K) patches, in conjunction with mathematical fitting and interpolation to derive CMY(K)→Lab mappings. The accuracy of the characterization transform clearly depends on the number (N) of patches printed and measured. Crucially, note that these patches correspond to contone CMY digital values, i.e. their binary representation is halftone dependent. Hence, deriving characterization transforms for a printer equipped with M halftone screens, requires N*M patches. Even for modest choices of N, M, e.g. N=1000, M=4, this number grows to be unmanageable. Note N cannot be made very small without compromising accuracy. As multiple media are thrown into the mix, the number scales further with the number of distinct media employed, i.e. N×M×P patches are needed where P distinct media types are used.
A halftone independent printer model for calibrating black-and-white and color printers has been previously proposed. This halftone independent printer model is referred to as the two-by-two (2×2) printer model and is described, e.g., in the following U.S. patents, all of which are hereby expressly incorporated by reference into this specification: U.S. Pat. No. 5,469,267, U.S. Pat. No. 5,748,330, U.S. Pat. No. 5,854,882, U.S. Pat. No. 6,266,157 and U.S. Pat. No. 6,435,654. The 2×2 printer model is also described in the following document that is also hereby expressly incorporated by reference into this specification: S. Wang, “Two-by-Two Centering Printer Model with Yule-Nielsen Equation,” Proc. IS&T NIP 14, 1998.
The 2×2 printer model is explained briefly with reference to FIGS. 2A, 2B and 2C (note that in FIGS. 2A, 2B, 2C the grid pattern is shown for reference only). FIG. 2A illustrates an ideal example of a halftone printer output pattern IHP, where none of the ink/toner dots ID overlap each other (any halftone pattern can be used and the one shown is a single example only); practical printers are incapable of generating non-overlapping square dots as shown in FIG. 2A. A more realistic dot overlap model is the circular dot model shown in FIG. 2B for the pattern HP (the halftone pattern HP of FIG. 2B corresponds to the halftone pattern IHP of FIG. 2A). These overlapping dots D in combination with optical scattering in the paper medium create many difficulties in modeling a black-and-white printer (or a monochromatic channel of a color printer). In a conventional approach such as shown in FIG. 2B, the output pixel locations are defined by the rectangular spaces L of the conceptual grid pattern G and are deemed to have centers coincident with the centers of the dots output D (or not output) by the printer. Because the grid G is conceptual only, according to the 2×2 printer model, the grid G can be shifted as shown in FIG. 2C and indicated at G′ so that the printer output dots D′ of the pattern HP′ are centered at a cross-point of the grid G′ rather than in the spaces L′. Although the halftone dot patterns HP,HP′ of FIGS. 2B and 2C are identical, overlapping details within the rectangular spaces L′ of the grid of FIG. 2C are completely different as compared to FIG. 2B. More particularly, there are only 24=16 different overlapping dot patterns for the 2×2 model shown in FIG. 2C, while there are 29=512 different overlapping dot patterns in a conventional circular dot model as shown in FIG. 2B.
The sixteen different overlapping dot patterns of FIG. 2C can be grouped into seven categories G0-G6 as shown in FIG. 2D, i.e., each of the 16 possible different overlapping dot patterns of a pixel location L′ associated with the model of FIG. 2C can be represented by one of the seven patterns G0-G6 of FIG. 2D. The patterns GO and G6 represent solid white and solid black (or other monochrome color), respectively. The pattern G1 is one of four different equivalent overlapping patterns that are mirror image of each other, as is the pattern G5. Each of the patterns G2, G3, G4 represents one of two different mirror-image overlapping patterns. Therefore, in terms of ink/toner color coverage (gray level), all pixels (located in the rectangular spaces L′ of the conceptual grid pattern G) of each of the seven patterns G0-G6 are identical within a particular pattern G0-G6. In other words, each pattern G0-G6 consists of only one gray level at the pixel level L′, and this gray level can be measured exactly.
The test patches G0′-G6′ shown in FIG. 2E illustrate an example of one possible real-world embodiment for printing the seven patterns G0-G6. The present development is described herein with reference to printing and measuring the color of the test patches G0′-G6′, and those of ordinary skill in the art will recognize that this is intended to encompass printing and measuring the color of any other test patches that respectively represent the patterns G0-G6 in order to satisfy the 2×2 printer model as described herein. It is not intended that the present development, as disclosed below, be limited to use of the particular test patches G0′-G6′ or any other embodiment of the 2×2 patterns G0-G6. In general, for the 2×2 printer model to hold, the shape of the dots D′ must be symmetric in the x (width) and y (height) directions, and each dot D′ should be no larger than the size of two output pixel locations L′ in both the x and y directions. The dots D′ need not be circular as shown.
The 2×2 printer model as just described can be used to predict the gray level of any binary (halftone) pattern, because any binary pattern such as the halftone pattern of FIG. 2C can be modeled as a combination of the seven patterns G0-G6, each of which has a measurable gray level as just described. In other words, once the seven test patches G0′-G6′ are printed and the gray (color) level of each is measured, the gray level of any binary pattern can be predicted mathematically and without any additional color measurements. For example, the halftone pattern of FIG. 2C is shown in FIG. 3, along with its corresponding 2×2 based model M, wherein each of the output pixels of the halftone pattern HP′ (conceptually located in a rectangular space L′ of the grid) is represented by one of the seven 2×2 patterns G0-G6 that has a corresponding color output pattern/coverage for its pixels. Thus, for example, for the pixel P00 of the binary pattern HP′, the 2×2 pattern G1 has pixels with corresponding color coverage (as indicated at P00′, while for the pixel P50, the 2×2 pattern G3 has pixels with corresponding color coverage as shown at P50′, and for the pixel P66 there is no color which corresponds to the pattern G0 as indicated at P66′ of the model M. As such, any binary pattern of pixels can be modeled as a combination of the 2×2 patterns G0-G6 by selecting, for each pixel of the binary pattern, the one of the 2×2 patterns G0-G6 that is defined by pixels having color coverage the equals the color coverage of the pixel in question.
When a binary pattern HP′ is represented by a model M comprising a plurality of the patterns G0-G6, the gray level output of the binary pattern HP′ can be estimated mathematically, e.g., using the Neugebauer equation with the Yule-Nielsen modification, as follows:
                              G          AVG                      1            /            γ                          =                              ∑                          i              =              0                        6                    ⁢                                    n              i                        ⁢                          G              i                              1                /                γ                                                                        (        1        )            where Gi, i=0 to 6 is the measured gray level of the respective 2×2 patterns G0-G6, ni is the number of pixels of the corresponding 2×2 pattern in the binary pattern, and y is the Yule-Nielsen factor, a parameter which is often chosen to optimize the fit of the model to selected measurements of halftone patches. Details of such an optimization are given in R. Bala, “Device Characterization,” Digital Color Imaging Handbook, Chapter 5, CRC Press, 2003. For example, the average gray level of the binary pattern of FIG. 2B/FIG. 2C can be estimated as:GAVG=(7G01/γ+25G11/γ+7G21/γ+3G31/γ+3G41/γ+3G51/γ+G61/γ)Y  (2)
The color 2×2 printer model can be described in a similar manner. The color 2×2 printer model can predict the color appearance of binary patterns for a given color printer and the color accuracy of the prediction is high for printers with relatively uniform dot shapes, such as inkjet printers. However, xerographic printers usually do not generate uniform round-shape dots for isolated single pixels and the dot overlapping is more complicated as compared to inkjet dot output. As such, the color 2×2 printer model applied to a xerographic printer will typically yield larger prediction errors.
The 2×2 printer model predicts output color at the pixel level. To estimate the average color of a large area by a binary color printer, one may use modified Neugebauer equations. For the following discussion, colors are specified in spectral reflectance, though they could be in tristimulus values XYZ or another appropriate space as well. The predicted color reflectance R (λ) of an output by a binary printer (accounting for light scattering in the paper) is given by
                                          R            ⁡                          (              λ              )                                            1            /            n                          =                              ∑                          i              =              1                        n                    ⁢                                    a              i                        ⁢                                                            R                  i                                ⁡                                  (                  λ                  )                                                            1                /                n                                                                        (        3        )            
where ai and Ri(λ) are the area coverage and the spectral-reflectance of each primary color, N is the total number of primary colors, and n is the Yule-Nielsen factor.
The difficulty in applications of Neugebauer equations with conventional printer models is to accurately estimate the area coverage of primaries, mainly due to the complexity of dot overlapping. However, this difficulty is completely eliminated by the 2×2 printer model. The modified Neugebauer equation, shown by Equation (2), can be directly applied to the 2×2 printer model for predicting average colors of any dot combinations. As the case stands, Ri(λ) in Equation (3) represents the measured spectral reflectance of each 2×2 color. The area coverage ai of each 2×2 color is directly proportional to its occurrence mi in number of pixels, and can be calculated by the following equation
                              a          i                =                              m            i                    /                                    ∑                              j                =                1                            N                        ⁢                          m              j                                                          (        4        )            
There is thus a need for a printer characterization system that is halftone screen independent wherein all halftones characterizations may be obtained by printing and measuring this fundamental binary patch target, i.e. no repeated halftone dependent patch measurements are needed. Such a methodology would allow construction of more accurate printer characterization transforms without incurring an increase in measurement cost.